#pragma once

namespace Domy {

/**
 * @brief global
 */
const char Version[] = "1.0.0";

/**
 * @brief Windows
 */
const char WindowStateConfigurationFileName[] = "window.state";
const char WindowGeometryConfigurationFileName[] = "window.geometry";

/**
 * @brief configuration
 */
const char RecentConfigFileName[] = "recent.conf";
const char SoftwareSettingsFileName[] = "settings.conf";
const char SchemesDirName[] = "scheme";

/**
 * @brief default settings
 */
const int  DefaultSettings_RecentFilesMaxCounts = 10;
const char DefaultSettings_FontFamily[] = "Courier New";
const int  DefaultSettings_FontSize = 14;
const char DefaultSettings_SchemeName[] = "light";
const char DefaultSettings_WorkspaceDir[] = "";
const char DefaultSettings_SuffixFilter[] = "";
const int  DefaultSettings_TabPolicy = 0;
const int  DefaultSettings_TabSize = 4;
const char DefaultSettings_Encoding[] = "UTF-8";
const int  DefaultSettings_MessageViewZoom = 10;

/**
 * @brief general settings
 */
const char SettingsGroup_General[] = "general";
const char SettingsKey_RecentFilesMaxCounts[] = "recent_files_max_cnts";

/**
 * @brief editor settings
 */
const char SettingsGroup_Editor[] = "editor";
const char SettingsKey_Family[] = "family";
const char SettingsKey_FontSize[] = "font_size";
const char SettingsKey_SchemeName[] = "scheme_name";
const char SettingsKey_TabPolicy[] = "tab_policy";
const char SettingsKey_TabSize[] = "tab_size";
const char SettingsKey_Encoding[] = "encoding";

/**
 * @brief message settings
 */
const char SettingsGroup_Message[] = "message";
const char SettingsKey_MessageViewZoom[] = "view_zoom";

/**
 * @brief issues settings
 */
const char SettingsGroup_Issues[] = "issues";
const char SettingsKey_IssuesWarningVisible[] = "warning_visible";
const char SettingsKey_IssuesErrorVisible[] = "error_visible";

/**
 * @brief color scheme settings
 */
const char SettingsGroup_Scheme[] = "scheme";
const char SettingsKey_BGColor[] = "bg_color";
const char SettingsKey_LNTextColor[] = "ln_text_color";
const char SettingsKey_LNBGColor[] = "ln_bg_color";
const char SettingsKey_CurrentLine[] = "current_line";
const char SettingsKey_Text[] = "text";
const char SettingsKey_Tag[] = "tag";
const char SettingsKey_Attr[] = "attr";
const char SettingsKey_AttrText[] = "attr_text";
const char SettingsKey_Comment[] = "comment";
const char SettingsKey_Search[] = "search";

/**
 * @brief scheme name
 */
const char SchemeName_Light[] = "light";
const char SchemeName_Dark[] = "dark";
const char SchemeName_Origin[] = "origin";

// workspace settings
const char SettingsGroup_Workspace[] = "workspace";
const char SettingsKey_WorkspaceDir[] = "workspace_dir";

} // namespace Domy
